The present invention pertains to the field of communications between clients and servers. More specifically, the invention relates to a system and method for client-server communications that provides for the creation and management of state information for the client-server communications.
Client-server communications systems and methods are known in the art. These known client-server communications systems typically involve the client sending the server a request for information, and the server fulfilling the request for information. Thus, whenever information is required, the client must initiate the request for information, and the server then fulfills the request and consequently proceeds with processing other requests without storing any information regarding the request previously processed for the client.
One drawback with known systems and methods for client-server communications is that such communications are stateless. After the client submits a request, then the client must wait for the server to reply. Likewise, after the server has replied, the server typically does not store any data relating to providing the information for the client. Because of this structure, it often occurs that a client will submit a request for information to the server and may not receive any response from a server for the information, such as because of communications errors, server load, or other reasons.
An additional drawback with existing systems and methods for client-server communications is that they require all information requests to be initiated by the client. Thus, the server cannot provide information to a client, even in situations where the client is active and awaiting such data.
In accordance with the present invention, a system and method for client-server communications are provided that overcome known problems with client-server communications.
In particular, a system and method for client-server communications are provided that allow the state of the client and server communications to be determined and used to facilitate client-server communications.
In accordance with an exemplary embodiment of the present invention, a system for facilitating data communications between a client and a server is provided. The system includes a server thread system that receives client logon data and a request packet. The server thread system maintains a client process while the client is logged on to the server that allows the state of client-server communications to be determined. The system also includes a process thread system that is connected to the server thread system. The process thread system receives the request packet from the server thread system and initiates a process in response to the request packet.
The present invention provides many important technical advantages. One important technical advantage of the present invention is a system and method for client-server communications that allows the state of client-server communications to be determined. The present invention utilizes a server thread process for determining the state of the client, and process thread processes for determining the state of processing of data requests from clients. The present invention thus uses realtime processes to track state in client-server communications.
Those skilled in the art will further appreciate the advantages and superior features of the invention together with other important aspects thereof on reading the detailed description that follows in conjunction with the drawings.